hexo 博客系统访问性能优化

前言

最近发现自己的博客系统访问越来越慢,虽然服务器部署在国外,但也不至于这么慢,平均展示一个页面需要几秒的时间,简直无法忍受。通过chrome F12查看页面网络请求,发现主要影响页面加载缓慢的原因是从fonts.googleapis.com加载字体资源文件时,请求一直pending,导致页面渲染慢,特记录一下优化过程。

具体问题

优化策略

以下是针对上述问题的优化策略:

  • 优化策略(问题1)

    修改E:\hexo\themes\hexo-theme-next\layout_partials\head\目录下的external-fonts.swig文件,将fonts.googleapis.com域名替换为fonts.useso.com。

    {% set font_host = font_config.host | default('//fonts.googleapis.com') %}
    替换为
    {% set font_host = font_config.host | default('//fonts.useso.com') %}
  • 优化策略(问题2)

    由于hexo博客都是一些静态资源文件(js,css,png,html等),正好可以采用nginx部署博客,利用sendfile零拷贝机制及expires命令控制浏览器端缓存时间等,加速静态资源文件的访问。

    ## 很少变化的静态资源文件,通知浏览器端缓存15天(忽略大小写匹配)
    location ~* ^/.+\.(js|css|png|jpg|gif|woff2)$ {
    root /home/lipanpan.github.io/;
    expires 15d;
    }

    location / {
    root /home/lipanpan.github.io/;
    index index.html index.htm;
    }